package com.xoa.controller.infomation;

import com.xoa.model.infomation.Information;
import com.xoa.service.infomation.InformationService;
import com.xoa.util.ToJson;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Created by gaosubo on 2017/12/25.
 */
@Controller
@RequestMapping("/infomation")
public class InfomationController {

    @Resource
    private InformationService informationService;


    @RequestMapping("/goAddInfomation")
    public String  goAddInfomation(HttpServletRequest request){
      return "app/infoSubmit/newInfo";
    }

    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年12月25日 下午12:32:00
     * 方法介绍:   添加报送信息
     * 参数说明:   @param bookInfoWithBLOBs
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/insertInfo")
    public ToJson<Information> insertInfo(Information information, HttpServletRequest request){
     return informationService.insertInfo(information,request);
    }

    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年12月25日 下午12:32:00
     * 方法介绍:   查看新建列表
     * 参数说明:
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/getInformationList")
    public ToJson<Information> getInformationList(HttpServletRequest request,
                                                  @RequestParam(value = "page",required = false) Integer page,
                                                  @RequestParam(value = "pageSize",required = false) Integer pageSize,
                                                  @RequestParam(value="useFlag",required = false) Boolean useFlag,
                                                  Information informatione){
        return informationService.getInformationList(request,page,pageSize,useFlag,informatione);
    }


    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年12月25日 下午16:32:00
     * 方法介绍:   查看新建列表详情
     * 参数说明:   Integer id
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/getInformationDetail")
    public ToJson<Information> getInformationDetail(HttpServletRequest request,Integer id){
        return informationService.getInformationDetail(request,id);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年12月25日 下午17:32:00
     * 方法介绍:   修改报送信息
     * 参数说明:   Information information
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/editInformation")
    public ToJson<Object> editInformation(HttpServletRequest request,Information information){
        return informationService.editInformation(request,information);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年12月25日 下午17:32:00
     * 方法介绍:   删除单条信息
     * 参数说明:   Information information
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/delete")
    public ToJson<Object> deleteInfomationById(Integer id){
        return informationService.deleteInfomationById(id);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年12月25日 下午17:32:00
     * 方法介绍:   获取用户当前用户信息和当前时间
     * 参数说明:   Information information
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/getUsersInfo")
    public ToJson<Object> getUsersInfo(HttpServletRequest request){
        return informationService.getUsersInfo(request);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年12月25日 下午17:32:00
     * 方法介绍:   报送处理列表查询
     * 参数说明:   Information information
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/getHandleList")
    public ToJson<Information> getHandleList(HttpServletRequest request,@RequestParam(value = "page",required = false) Integer page,
                                             @RequestParam(value = "pageSize",required = false) Integer pageSize,
                                             @RequestParam(value="useFlag",required = false) Boolean useFlag,Information information){
        return informationService.getHandleList(request,page,pageSize,useFlag,information);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年12月26日 上午10:32:00
     * 方法介绍:   报送查询与导出接口
     * 参数说明:   Information information
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/queryInfoList")
    public ToJson<Information> queryInfoList(HttpServletRequest request, Information information,String deptIds,String userIds,String startTime,String endTime, HttpServletResponse response,@RequestParam(value = "page",required = false) Integer page,
                                             @RequestParam(value = "pageSize",required = false) Integer pageSize,
                                             @RequestParam(value="useFlag",required = false) Boolean useFlag,String export){
        return informationService.queryInfoList(request,information,deptIds,userIds,startTime,endTime,response,page,pageSize,useFlag,export);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年12月26日 上午10:32:00
     * 方法介绍:   更新采集/是否阅读
     * 参数说明:   Information information
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/updateState")
    public ToJson<Object> updateState(Information information){
    return informationService.updateState(information);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年12月26日 上午10:32:00
     * 方法介绍:   统计分析图接口
     * 参数说明:   Information information
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/getstaticInfo")
    public ToJson<Object> getstaticInfo(String year){
        return informationService.getstaticInfo(year);
    }
    /**
     * 创建作者:   高亚峰
     * 创建日期:   2017年12月26日 上午10:32:00
     * 方法介绍:   查询科室数量
     * 参数说明:   Information information
     * 返回值说明:
     */
    @ResponseBody
    @RequestMapping("/getDeptInfo")
    public ToJson<Information> getDeptInfo(HttpServletRequest request,String year){
        return informationService.getDeptInfo(request,year);
    }

    //    报送处理首页
    @RequestMapping("/HandleIndex")
    public String  submitHandle(HttpServletRequest request){
        return "app/infoSubmit/submitHandle/index";
    }
    //    未读信息页面映射
    @RequestMapping("/unread")
    public String  unread(HttpServletRequest request){
        return "app/infoSubmit/submitHandle/unread";
    }
    //    全部信息页面映射
    @RequestMapping("/allInfo")
    public String  allInfo(HttpServletRequest request){
        return "app/infoSubmit/submitHandle/allInfo";
    }

    @RequestMapping("/infoDetail")
    public String  infoDetail(HttpServletRequest request){
        return "app/infoSubmit/submitHandle/infoDetail";
    }

    @RequestMapping("/submitQuery")
    public String  submitQuery(HttpServletRequest request){
        return "app/infoSubmit/submitQuery/index";
    }

    //    统计首页映射
    @RequestMapping("/statisticsIndex")
    public String  statisticsIndex(HttpServletRequest request){
        return "app/infoSubmit/submitStatistics/index";
    }
    //    统计首页映射
    @RequestMapping("/year")
    public String  year(HttpServletRequest request){
        return "app/infoSubmit/submitStatistics/year";
    }
    //    统计首页映射
    @RequestMapping("/dept")
    public String  dept(HttpServletRequest request){
        return "app/infoSubmit/submitStatistics/dept";
    }

    //    统计首页映射
    @RequestMapping("/readDetail")
    public String  readDetail(HttpServletRequest request){
        return "app/infoSubmit/submitHandle/readDetail";
    }





}
